#ifndef __Particle_H__
#define __Particle_H__

namespace rkt
{
	class ParticleSystem;

	class _RenderEngineExport Particle
	{
	public:
		Vector3		m_originPos;
		Vector3		m_p;
		Vector3		m_v;
		float		m_life;

		int m_currentFrame;
		int m_numHeadFrames;
		int m_numHeadDecayFrames;
		int m_numTailFrames;
		int m_numTailDecayFrames;

		Vector3		m_r[4];		//Head Mode
		Vector3		m_rt[4];	//Tail Mode
		Vector2		m_t[4];
		Color4		m_color;
		Color4		m_fullColor;

		float		m_gravity;

		ParticleEmitter2Data*	m_pData;
		ParticleSystem*			m_pParent;

	public:
		bool update(float tickDelta,IRenderSystem *pRenderSystem);
	};
}

#endif